/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package proyectomodulov;

/**
 *
 * @author angelTorralboJimenez
 */
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;


public class FrameMenu extends JFrame {

  private JPanel contentPane;
  private JTextField tf1;
  private JTextField tf2;
  private JLabel labelResultado;
  private JButton btnConsultaPorCdigo;
  private JButton verListadoEmp;
  private JLabel lblIngreseCdigoDe;
  private JLabel lblIngreseCdigoEmp;
  private JTextField tf3;
   private JTextField tf4;

  /**
   * Launch the application.
   */
  public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
      public void run() {
        try {
          FrameMenu frame = new FrameMenu();
          frame.setVisible(true);
        } catch (Exception e) {
          e.printStackTrace();
        }
      }
    });
  }

  /**
   * Create the frame.
   */
  public FrameMenu() {
      
      
    super("Empleados");
    
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    addWindowListener(new CerrarVentana());
    setBounds(100, 100, 606, 405);
    contentPane = new JPanel();
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    setContentPane(contentPane);
    contentPane.setLayout(null);
    
     
    lblIngreseCdigoEmp = new JLabel("Ingrese código de empleado: ");
    lblIngreseCdigoEmp.setBounds(23, 10, 193, 14);
    contentPane.add(lblIngreseCdigoEmp);
    
    tf4 = new JTextField();
    tf4.setBounds(247, 10, 104, 20);
    contentPane.add(tf4);
    tf4.setColumns(9);
    
    
    JLabel lblDescripcinDelArtculo = new JLabel("Nombre del Empleado");
    lblDescripcinDelArtculo.setBounds(23, 38, 193, 14);
    contentPane.add(lblDescripcinDelArtculo);
    
    tf1 = new JTextField();
    tf1.setBounds(247, 35, 193, 20);
    contentPane.add(tf1);
    tf1.setColumns(50);
    
    JLabel lblPrecio = new JLabel("Apellidos");
    lblPrecio.setBounds(23, 74, 95, 14);
    contentPane.add(lblPrecio);
  
    
    tf2 = new JTextField();
    tf2.setBounds(247, 71, 193, 20);
    contentPane.add(tf2);
    tf2.setColumns(50);
    
    JButton btnAlta = new JButton("Alta de Empleado");
    btnAlta.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent arg0) {
       //labelResultado.setText("");        
        try {
          Connection conexion=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/fichas","root" ,"root");
          Statement comando=conexion.createStatement();
          comando.executeUpdate("insert into empleado(codigoempleado,nombre,apellidos) values ('"+tf4.getText()+"','"+tf1.getText()+"','"+tf2.getText()+"')");
          conexion.close();
          JOptionPane.showMessageDialog(null,"\nEl empleado con codigo: "+ tf4.getText() + "\tNombre:" + tf1.getText() + "\ty Apellidos: " + tf2.getText() + " - Se ha registrado con éxito");
          //labelResultado.setText("se registraron los datos");
          tf1.setText("");
          tf2.setText("");
          tf4.setText("");
        } catch(SQLException ex){
            
             JOptionPane.showMessageDialog(null,ex.toString());
            	
          //labelResultado.setText(ex.toString());
        }
      }
    });
    btnAlta.setBounds(247, 118, 150, 23);
    contentPane.add(btnAlta);
    
   /* labelResultado = new JLabel("resultado");
    labelResultado.setBounds(247, 150, 235, 14);
    contentPane.add(labelResultado);*/
    
    btnConsultaPorCdigo = new JButton("Consulta por código");
    btnConsultaPorCdigo.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent arg0) {
        //labelResultado.setText("");
        tf1.setText("");
        tf2.setText("");  
        tf4.setText("");
        try {
          Connection conexion=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/fichas","root" ,"root");
          Statement comando=conexion.createStatement();
          ResultSet registro = comando.executeQuery("select * from empleado where codigoempleado='"+tf3.getText()+"'");
          if (registro.next()==true) {
            tf4.setText(registro.getString("codigoempleado"));
            tf1.setText(registro.getString("nombre"));
            tf2.setText(registro.getString("apellidos"));
          } else {
              
             JOptionPane.showMessageDialog(null,"No existe un empleado con dicho codigo"); 
            //labelResultado.setText("No existe un empleado con dicho código");
          }
          conexion.close();
        } catch(SQLException ex){
            
         JOptionPane.showMessageDialog(null,ex.toString()); 
           
          
        }
      }
    });
    
    
    
    btnConsultaPorCdigo.setBounds(400, 180, 177, 23);
    contentPane.add( btnConsultaPorCdigo);
    
    
    verListadoEmp = new JButton("Ver Listado de Empleados");
    verListadoEmp.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent arg0) {
       
        try {
         
              FrameListado obj = new FrameListado();
              
              obj.setVisible(true);
                      
            
            
         
        } catch(Exception ex){
            
         JOptionPane.showMessageDialog(null,ex.toString()); 
           
          
        }
      }
    });
    
    
    verListadoEmp.setBounds(200, 250, 200, 23);
    contentPane.add(verListadoEmp);
    
    lblIngreseCdigoDe = new JLabel("Ingrese código de articulo a consultar: ");
    lblIngreseCdigoDe.setBounds(10, 179, 250, 14);
    contentPane.add(lblIngreseCdigoDe);
    
    tf3 = new JTextField();
    tf3.setBounds(260, 180, 120, 20);
    contentPane.add(tf3);
    tf3.setColumns(10);
    cargarDriver();
    
      
  }
  
  private void cargarDriver() {
    try {
      Class.forName("com.mysql.jdbc.Driver");
    }catch(Exception ex) {
       JOptionPane.showMessageDialog(null,ex.toString()); 
    }
  }
  
  
  
  private class CerrarVentana extends WindowAdapter
	{
	
		
    
		public void windowClosing(WindowEvent e)
		{
			
		   int opcion = JOptionPane.showConfirmDialog (FrameMenu.this,"¿Seguro que desea salir del programa?","Salir",JOptionPane.OK_CANCEL_OPTION);
		
			 
                           	
		  if (opcion == JOptionPane.YES_OPTION)	
		  {
                           
                           
			  FrameMenu.this.dispose();
			  System.exit(0);
			  
		  }
                          
                          else  FrameMenu.this.setVisible(true); 
                          
                          }
		    
		 
		
  }
	
  
}
